﻿#pragma once

#include "Render/VulkanMemory/Images.h"
#include "Containers/Map.h"
#include "Containers/ThreadSafePtr.h"

class CWriteInTextureCube;
class CPreRenderTextureCube;
class CVulkanTextureCube;

//管理所有的立方体贴图纹理
class CVulkanTextureCubes
{
public:
    void UpdateTextures(const TVector<std::shared_ptr<CPreRenderTextureCube>> &AllTextureData);

    std::shared_ptr<CVulkanTextureCube> FindVulkanObj(TThreadSafeSharedPtr<CWriteInTextureCube> TextureCube);
protected:
    TMap< TThreadSafeSharedPtr<CWriteInTextureCube>
        ,std::shared_ptr<CVulkanTextureCube> > TextureCubes;


};